package lihao.Test12;

import java.util.Scanner;


public class TestAdmin {

    // 对象数组,如果是对象：默认就是null
    public static Admin[] users = new Admin[10];
    public static int opacity = 0;


    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (true) {
            show();
            menu1();//展示用户界面
            int choice = sc.nextInt();

            if (choice == 1) {
                while(true) {
                    // 用户注册
                    System.out.print("请输入用户名称：");
                    String username = sc.next();
                    System.out.print("请输入用户密码：");
                    String password = sc.next();


                    boolean flag = true;

                    // 数据校验
                    // 用户名称为空校验
                    if(username == null || username.trim().equals("")) {
                        System.out.println("对不起，用户名不能为空");
                        flag = false;
                    }
                    // 用户名称重复
                    if (exeistsUser(username)) {
                        System.out.println("对不起，该用户名称已存在，请重新注册");
                        flag = false;
                    }
                    // 密码长度不能少于6位
                    if (password.length() <= 3) {
                        System.err.println("密码长度不能少于3位");
                        flag = false;
                    }

                    if (flag) {
                        /*如果校验没有问题，则添加用户到数组中*/
                        //构建对象
                        Admin user = new Admin();
                        user.username = username;
                        user.password = password;

                        // 添加用户到数组中
                        users[opacity++] = user;

                        // 扩容问题？
                        // 如果opacity == users.length - 1，触发扩容

                        System.out.println("恭喜您，用户注册成功！！！");
                        break;
                    }
                }

            } else if (choice == 2) {


                // 用户登录
                while(true) {
                    System.out.print("请输入用户名称：");
                    String username = sc.next();
                    System.out.print("请输入用户密码：");
                    String password = sc.next();

                    boolean flag = true;
                    if(enter(username,password)) {
                        System.out.println("登录成功！");
                    }else {
                        System.out.println("对不起，请输入正确的用户名和密码.");
                        flag = false;
                    }
                    if (flag) {
                        System.out.print("请输入用户名称：");
                        username = sc.next();
                        System.out.print("请输入用户密码：");
                        password = sc.next();
                        break;
                    }
                }

            } else if (choice == 3) {

                // 用户信息查看
                /*功能以后实现*/

            } else if (choice == 4) {
                // 退出系统
//				break;
                // 这行代码会终止JVM
                System.exit(0);
            }

        }

    }

    private static boolean enter(String username,String password) {
        for (Admin admin : users) {
            if (admin != null) {
                if (admin.username.equals(username)&&admin.password.equals(password)) {
                    return true;
                }
            }
        }
        return false;
    }


    private static void show() {
        for (Admin admin : users) {
            if (admin != null) {
                System.out.println(admin.username +"----"+ admin.password);
            }
        }
    }

    private static boolean exeistsUser(String username) {
        for (Admin admin : users) {
            if (admin != null) {
                if (admin.username.equals(username)) {
                    return true;
                }
            }
        }
        return false;
    }

    private static void menu1() {
        System.out.println("~ * ~ ~ * ~ ~ * ~ ~ * ~ ~ * ~ ~ * ~ ~ * ~ ~ * ~ ~ * ~ ~ * ~ ~ * ~ ");
        System.out.println("\t\t 1、用户注册");
        System.out.println("\t\t 2、用户登录");
        System.out.println("\t\t 3、用户信息查询");
        System.out.println("\t\t 4、退出系统");
        System.out.println("~ * ~ ~ * ~ ~ * ~ ~ * ~ ~ * ~ ~ * ~ ~ * ~ ~ * ~ ~ * ~ ~ * ~ ~ * ~ ");
        System.out.print("请输入您的选择：");
    }
}

